package cetc;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {


        //    Scanner input =new Scanner(System.in);//题目3 题目：阶乘倒数之和
        //    System.out.println("阶乘倒数："+jiechengdaoshu(input.nextInt())); //题目3 题目：阶乘倒数之和

    /*  题目：无重复数组合
        System.out.println("请输入总数字，最大不要超过9，分别输入不同数字，进行组合排序：");
        Scanner input =new Scanner(System.in);
        System.out.println(Arrays.toString(wuchongfuzuhe(input.nextInt())));
    */
        /*


        //   题目：素数
        System.out.println("请输入总数字，求数字范围的所有素数：");
        Scanner input = new Scanner(System.in);
        System.out.println(sushu(input.nextInt()));
 */
        /*
        System.out.println("5钱买1只公鸡，3钱买1只母鸡，1钱买3只小鸡");
        System.out.println("任意数字的百鸡百钱解：");
        Scanner input = new Scanner(System.in);
        System.out.println("解法共计："+maiji(input.nextInt()));


         */
    }

    /*
    题目：阶乘倒数之和
     */
    public static double jiechengdaoshu(int a) { //函数输入a，用于传递阶乘范围
        double sum = 0; //定义和
        double jc; //定义阶乘
        while (true) {
            jc = 1;
            for (int i = 1; i <= a; i++) {
                jc = jc * i;

            }
            a--;
            System.out.println("jc in for:" + jc);
            sum = sum + 1 / jc;
            System.out.println("sum in while:" + sum);
            if (a == 0) {
                break;
            }

        }
        return sum;
    }

    /*
    题目：无重复数组合
    --------------------------------------------
    请输入总数字，最大不要超过9，分别输入不同数字，进行组合排序：
    4
    请输入第1数字：1
    请输入第2数字：2
    请输入第3数字：3
    请输入第4数字：0

    共计产生18种组合
     */


    public static int[] wuchongfuzuhe(int a) {
        int[] arry = new int[a];
        int count = 0;
        for (int i = 1; i <= a; i++) {
            System.out.print("请输入第" + i + "数字：");
            Scanner sc = new Scanner(System.in);
            arry[i - 1] = sc.nextInt();
        }
        for (int i = 0; i <= a - 1; i++) {

            for (int j = 0; j <= a - 1; j++) {
                for (int k = 0; k <= a - 1; k++) {
                    if (arry[i] == 0) {  //去除首位是0情况
                        continue;
                    }

                    if (i == j || i == k || j == k) { //3个位置填充，去重
                        continue;
                    } else {
                        System.out.println(arry[i] + " " + arry[j] + " " + arry[k]);
                        count++;
                    }
                }
            }
        }
        System.out.println("共计产生" + count + "种组合");


        return arry;

    }


    /*
    题目：寻找素数
    请输入总数字，求数字范围的所有素数：
    5
    找到素数：1
    找到素数：2
    找到素数：3
    找到素数：5
    4
     */
    public static int sushu(int a) { //输入一个数字，判断1~该数字的所有素数
        int count = 0; //统计素数个数
        boolean breakd=false; //定义布尔函数，用于判断，一个数只要被除尽，就立刻跳出循环，进入下一个数。
        for (int i = 1; i <= a; i++) {  //1~输入数字++
            breakd=false;
            for (int j = 2; j < i; j++) { //从2开始对输入数字尽除 ，只要在《a的情况下，余数产生0，则不是素数，跳出循环
                if ( i % j == 0) {
                    breakd=true;
                    break;
                }
                }
            if (breakd==true){  //判断如果，产生非0余数，进入下一个数判断。
                continue;
                }else {
                count++;
                System.out.println("找到素数："+i);
            }
            }

        return count;

    }

    /*
    题目，白钱买白鸡：5钱买公鸡，3钱买母鸡，1钱买3只小鸡

     */
    public static int  maiji(int a){
        int count=0; //参数用于统计解法数量
        int [] arrys= new int[3];  //存放解法
        for (int i=0;i<=a;i++){
            for (int j=0;j<=a;j++){
                for (int k=0;k<=a;k++){
                    if ((i+j+k==a) &&(5*i+3*j+(k/3)==a)&& (k % 3==0)){  //1钱买3鸡，k% 3==0是判断完整性。
                        arrys[0]=i;
                        arrys[1]=j;
                        arrys[2]=k;

                        System.out.println( "找到解法："+Arrays.toString(arrys));
                        count++;


                    }
                }

            }
        }
        return count;


    }




}
